Monitoring Assumptions in Assume-Guarantee Contracts
نویسندگان
چکیده
Pre-deployment verification of software components with respect to behavioral specifications in the assumeguarantee form does not, in general, guarantee absence of errors at run time. This is because assumptions about the environment cannot be discharged until the environment is fixed. An intuitive approach is to complement pre-deployment verification of guarantees, up to the assumptions, with post-deployment monitoring of environment behavior to check that the assumptions are satisfied at run time. Such a monitor is typically implemented by instrumenting the application code of the component. An additional challenge for the monitoring step is that environment behaviors are typically obtained through an I/O library, which may alter the component’s view of the input format. This transformation requires us to introduce a second predeployment verification step to ensure that alarms raised by the monitor would indeed correspond to violations of the environment assumptions. In this paper, we describe an approach for constructing monitors and verifying them against the component assumption. We also discuss limitations of instrumentation-based monitoring and potential ways to overcome it. Disciplines Computer Engineering | Computer Sciences Comments Workshop on Preand Post-Deployment Verification Techniques (PrePost@IFM), pp. 46--53, Reykjavik, Iceland, June 2016. This conference paper is available at ScholarlyCommons: http://repository.upenn.edu/cis_papers/824 To appear in EPTCS. Monitoring Assumptions in Assume-Guarantee Contracts∗ Oleg Sokolsky Teng Zhang Insup Lee University of Pennsylvania Philadelphia, PA, USA Michael McDougall GrammaTech, Inc. Ithaca, NY, USA Pre-deployment verification of software components with respect to behavioral specifications in the assume-guarantee form does not, in general, guarantee absence of errors at run time. This is because assumptions about the environment cannot be discharged until the environment is fixed. An intuitive approach is to complement pre-deployment verification of guarantees, up to the assumptions, with post-deployment monitoring of environment behavior to check that the assumptions are satisfied at run time. Such a monitor is typically implemented by instrumenting the application code of the component. An additional challenge for the monitoring step is that environment behaviors are typically obtained through an I/O library, which may alter the component’s view of the input format. This transformation requires us to introduce a second pre-deployment verification step to ensure that alarms raised by the monitor would indeed correspond to violations of the environment assumptions. In this paper, we describe an approach for constructing monitors and verifying them against the component assumption. We also discuss limitations of instrumentation-based monitoring and potential ways to overcome it.
منابع مشابه
A Model for Probabilistic Reasoning on Assume/Guarantee Contracts
In this paper, we present a probabilistic adaptation of an Assume/Guarantee contract formalism. For the sake of generality, we assume that the extended state machines used in the contracts and implementations define sets of runs on a given set of variables, that compose by intersection over the common variables. In order to enable probabilistic reasoning, we consider that the contracts dictate ...
متن کاملOn the Composition of Discrete and Continuous-time Assume-Guarantee Contracts for Invariance*
Many techniques for verifying invariance properties are limited to systems of moderate size. In this paper, we propose an approach based on assume-guarantee contracts and compositional reasoning for verifying invariance properties of a broad class of discrete-time and continuous-time systems consisting of interconnected components. The notion of assumeguarantee contracts makes it possible to di...
متن کاملStochastic Assume-Guarantee Contracts for Cyber-Physical System Design Under Probabilistic Requirements
We develop an assume-guarantee contract framework for the design of cyber-physical systems, modeled as closedloop control systems, under probabilistic requirements. We use a variant of signal temporal logic, namely, Stochastic Signal Temporal Logic (StSTL) to specify system behaviors as well as contract assumptions and guarantees, thus enabling automatic reasoning about requirements of stochast...
متن کاملA module language for typing by contracts
Assume-guarantee reasoning is a popular and expressive paradigm for modular and compositional specification of programs. It is becoming a fundamental concept in some computer-aided design tools for embedded system design. In this paper, we elaborate foundations for contract-based embedded system design by proposing a general-purpose module language based on a Boolean algebra allowing to define ...
متن کاملProbabilistic contracts: a compositional reasoning methodology for the design of systems with stochastic and/or non-deterministic aspects
A contract allows to distinguish hypotheses made on a system (the guarantees) from those made on its environment (the assumptions). In this paper, we focus on models of Assume/Guarantee contracts for (stochastic) systems. We consider contracts capable of capturing reliability and availability properties of such systems. We also show that classical notions of Satisfaction and Refinement can be c...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016